﻿ #define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>


//输⼊⼀个正整数，计算这个整数是⼏位数？
//输⼊：1234   输出：4
//输⼊：12     输出：2


//①.分析：利用例如1234，每除以10，得一个商，count自增一次，除完4次后，计为4，
//商得0，退出循环
//②.四位数除四次，计四次，计为四位数，商为零，退出循环
//   三位数除三次，计三次，计为三位数，商为0，退出循环
int main()
{
	//int n = 0;
	//while (scanf("%d", &n) != EOF)
	//{
	////用do...while循环
	//
	//
	//	int count = 0;
	//	do
	//	{
	//		count++;
	//		n = n / 10;
	//	//除一次后，得一位数



	//	} while (n);

	//	printf("%d\n", count);

	//	}
	









	//用for循环
	//int num = 0;
	//while (scanf("%d", &num) != EOF)
	//{
	//
	//	int count = 0;

	//	for (; num;)
	//	{
	//		count++;
	//		num = num / 10;


	//	}

	//	printf("%d", count);


	//}












	//用while循环
	/*int num = 0;
	int count = 0;
	int ret = scanf("%d", &num);
		while (num)
		{

			num = num / 10;
			count++;

		}

		printf("%d\n", count);*/



	//找出100~200之间的素数，并打印在屏幕上。 注：素数⼜称质数，只能被1和本⾝整除的数字。

	//①.利用循环打印出100-200之间的数
	//②再利用循环每打印出一个数，例101，就去判断101能不能被2-100的数字整除，若101能整除2-100的任意一个数
	//则101就不是质数，不能打印101，若不能整除2-100的任意一个数，则101是质数，可以打印101
	//③.逻辑，如果101不能整除2-100的任意一个数，就说明了它只能整除1和它本身
	

	//int i;
	//int j = 0;
	//for (i = 100; i <= 200; i++)
	//{
	//	
	//	for (j = 2; j <= i - 1; j++)
	//	{
	//		if (i % j != 0)
	//		{
	//			printf(" %d ", i);
	//			
	//		}
	//	
	//		break; //
	//	}//
		//逻辑：此代码循环次数变少，******只要不进入if，就说明不是素数，就不需要在第二个for这里浪费时间，跳出第二个for即可，若进入了if,则说明是素数，正常执行打印，后break跳出第二个for,不在第二个for再进行循环



	/*}*/






//第二种写法
int i;
int j = 0;
for (i = 100; i <= 200; i++)
{
	int flag = 1;
	for (j = 2; j < i; j++)
	{
		if (i % j == 0)
		{
		    flag = 0;
			break;
		}
		//只要不进入if，就说明肯定是素数，第二个for一直循环打印到i前一位数为止，就跳到下面if执行printf打印
		//若进入if,则一定不是素数，按序打印完，直接break跳出第二个循环，跳到下面if不执行printf打印

	}


	if (flag == 1)
	{

		printf( "%d ", i);
	}





}

  

















	





	return 0;
}